package cn.michael.dev.leetcode;

import cn.michael.dev.entity.TreeNode;

import java.util.ArrayList;
import java.util.List;

/**
 * 给定一个二叉树的根节点 root ，返回它的 中序 遍历。
 */

public class Problem94 {

    public List<Integer> inorderTraversal(TreeNode root) {
        if (root == null) {
            return null;
        }

        ArrayList<Integer> list = new ArrayList<>();
        inOrderTraverse(root, list);
        return list;
    }

    public void inOrderTraverse(TreeNode root, List<Integer> list) {
        if (root != null) {
            inOrderTraverse(root.left, list);
            list.add(root.val);
            inOrderTraverse(root.right, list);
        }
    }
}
